package cn.swust.service;

import java.util.ArrayList;

import cn.swust.model.InformationBean;
import cn.swust.util.Pager;

public interface InformationService {

	/**
	 * 添加一条信息
	 * @param infor
	 * @return 成功返回对应主键ID，否则返回0
	 */
	public int addInfor(InformationBean infor);
	
	/**
	 * 根据主键ID删除一条信息
	 * @param id
	 * @return 未成功(0)
	 */
	public int delInforById(int id);
	
	/**
	 * 根据信息类型删除信息
	 * @param type
	 * @return 未成功(0)
	 */
	public int delInforByType(int type);
	
	/**
	 * 根据主键ID修改一条信息
	 * @param id
	 * @param infor
	 * @return 未成功(0)
	 */
	public int modInfor(int id,InformationBean infor);
	
	/**
	 * 根据主键ID查找信息
	 * @param id
	 * @return 成功返回InformationBean对象
	 */
	public InformationBean queryById(int id);
	
	/**
	 * 根据信息类型查找对象(当为-1时返回所有)
	 * @param type
	 * @return 成功返回对应对象数组
	 */
	public ArrayList<InformationBean> queryByType(Pager pager,int type);
	
	/**
	 * 按类型查找最近count条记录
	 * @param count
	 * @return
	 */
	public ArrayList<InformationBean> queryCountByType(int count,int type);
	
	/**
	 * 根据类型查找该类型数目(-1则查询所有)
	 * @param type
	 * @return
	 */
	public int getCount(int type);
	
	/**
	 * 根据信息标题查找信息
	 * @param 标题
	 * @return 成功返回InformationBean对象
	 */
	public InformationBean queryByTitle(String title);
}
